<?php
/**
 * Created by PhpStorm.
 * User: prg
 * Date: 2017/2/8
 * Time: 22:20
 */


//编写数据封装操作类
class Response {
    //按json方式输出通信数据， /** +  回车 自动生成函数注释
    /**
     * @param integer $code 状态码
     * @param string $message 提示信息
     * @param array $data 数据
     * @return string 返回值
     */
    public static function json($code,$message='',$data = array()) {
        // is_numeric() 判断是不是数字，如果是数字和数字字符串则返回 TRUE，否则返回 FALSE。
        if(!is_numeric($code)){
            return '';
        }
        //放到数组里组装起来
        $result = array(
            'code'=>$code,
            'message'=>$message,
            'data'=>$data
        );
        echo json_encode($result);
        exit;
    }
    const JSON = "json";
    //综合通信方式的方法，只关心一个入口即可
    /**
     * @param $code
     * @param string $message
     * @param array $data
     * @return string
     */

    public static function show($code,$message = '',$data = array()) {
        if(!is_numeric($code)) {
            return '';
        }

        $type = isset($_GET['format']) ? $_GET['format'] : self::JSON;

        $result  = array(
            'code'=>$code,
            'message'=>$message,
            'data'=>$data
        );

        if ($type == 'json') {
            self::json($code,$message,$data);
            exit;
        } elseif ($type == 'array') {
            var_dump($result);
        }
    }
}

//Response::xml();
//$arr = array(
//    'id'=>1,
//    'name'=>'singwa',
//    'type'=>array(4,5,6),
//    'test'=>array(1,45,67=>array(123,'fadsfda'))
//);
//Response::xmlEncode(200,'success',$arr);



//$data = "输出json数据";
////转换编码的函数，第一个参数：原来的编码，第二个参数：要转换的编码，第三个参数：要转换的数据
//$newData = iconv('UTF-8','GBK',$data);
//echo json_encode($arr).'<hr/>';
////如果不是utf8编码的数据，使用 json_encode() 就会返回null，不会产生json数据
//echo json_encode($newData);